<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US"><head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>浏忙大爆炸  » Blog Archive   » YASnippet 基础入门</title>

<meta name="generator" content="WordPress 3.1"> <!-- leave this for stats -->

<link rel="stylesheet" href="emacs-yasnippet-basic-usage_files/style.css" type="text/css" media="screen">
<link rel="alternate" type="application/rss+xml" title="浏忙大爆炸 RSS Feed" href="http://blog.waterlin.org/feed">
<link rel="pingback" href="http://blog.waterlin.org/xmlrpc.php">
<!--[if IE 6]>
<link rel="stylesheet" href="http://waterlin.cookwhy.com/wp-content/themes/waterlinorg/styleie.css" type="text/css" media="screen" />
<![endif]-->
<link rel="alternate" type="application/rss+xml" title="浏忙大爆炸 » YASnippet 基础入门 Comments Feed" href="http://blog.waterlin.org/articles/emacs-yasnippet-basic-usage.html/feed">
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://blog.waterlin.org/xmlrpc.php?rsd">
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://blog.waterlin.org/wp-includes/wlwmanifest.xml"> 
<link rel="index" title="浏忙大爆炸" href="http://blog.waterlin.org/">
<link rel="start" title="我对11月份广州房价下跌的理解" href="http://blog.waterlin.org/articles/%e6%88%91%e5%af%b911%e6%9c%88%e4%bb%bd%e5%b9%bf%e5%b7%9e%e6%88%bf%e4%bb%b7%e4%b8%8b%e8%b7%8c%e7%9a%84%e7%90%86%e8%a7%a3.html">
<link rel="prev" title="用 org 把选定内容发布成 html 页面" href="http://blog.waterlin.org/articles/org-export-region-as-html.html">
<link rel="next" title="把 org 文档发布成网页工程的方法" href="http://blog.waterlin.org/articles/publish-org-files-to-html-project.html">
<meta name="generator" content="WordPress 3.1">
<link rel="canonical" href="http://blog.waterlin.org/articles/emacs-yasnippet-basic-usage.html">
<link rel="shortlink" href="http://blog.waterlin.org/?p=79923">
<link rel="shortcut icon" href="http://blog.waterlin.org/articles/favicon.ico">
</head>

<body>
<center>
<div id="page">

<div id="header">
	<div id="header_top">
		<div id="menu_search_box">
			<form method="get" id="searchform" style="display:inline;" action="http://blog.waterlin.org/">
			Search:&nbsp;
			<input class="s" name="s" id="s" type="text">&nbsp;
			<input src="emacs-yasnippet-basic-usage_files/go.gif" value="Submit" class="sub" align="top" type="image">
			</form>
		</div>
		<div id="header_title">
			浏忙大爆炸&nbsp;|
			<span>源于理工科男的烂笔头情结</span>
		</div>
	</div>
	<div id="header_end">
		<div id="menu">
			<div id="menu_pad">
				<div id="menu_items">


							<div class="no_bg">&nbsp;&nbsp;|&nbsp;</div><div><a href="http://blog.waterlin.org/">博客</a></div>
							<div class="no_bg">&nbsp;&nbsp;|&nbsp;</div><div><a href="http://en.waterlin.org/">English</a></div>
							<div class="no_bg">&nbsp;&nbsp;|&nbsp;</div><div><a href="http://cn.waterlin.org/">首页</a></div>
							<div class="no_bg">&nbsp;&nbsp;|&nbsp;</div><div><a href="http://blog.waterlin.org/contactme">留言给我</a></div>
							<div class="no_bg">&nbsp;&nbsp;|&nbsp;</div><div><a href="http://blog.waterlin.org/about-2">关于</a></div>
				</div>
			</div>
		</div>
	</div>
</div>

<div>
<!-- Alimama ads -->
<!--
<script type="text/JavaScript"> 
alimama_pid="mm_12493040_1648461_5980954"; 
alimama_type="f";
alimama_sizecode ="tl_3x3_12"; 
alimama_fontsize=12; 
alimama_bordercolor="FFFFFF"; 
alimama_bgcolor="E5E5E5"; 
alimama_titlecolor="0000FF"; 
alimama_underline=0; 
alimama_height=62; 
alimama_width=972; 
</script> 
<script src="http://a.alimama.cn/inf.js" type=text/javascript> 
</script>
-->
</div>

<div id="blog">
<div id="blog_pad">
	<div id="blog_left">
	
				<div class="item_class">
					<div class="item_class_title">
						<div class="item_class_title_text">
							<div class="titles">
								<div class="top_title_top">Posted on 30-09-2009</div>
								<div class="top_title"><a href="http://blog.waterlin.org/articles/emacs-yasnippet-basic-usage.html" rel="bookmark" title="Permanent Link to YASnippet 基础入门">YASnippet 基础入门</a></div>
								<div class="end_title">Filed Under (<a href="http://blog.waterlin.org/category/%e6%8a%80%e6%9c%af" title="View all posts in 技术" rel="category tag">技术</a>) by waterlin</div>
							</div>
							
						</div>
					</div>
					<div class="item_class_text">
<!-- add google ads -->
<script type="text/javascript"><!--
google_ad_client = "pub-3004770317513210";
/* 468x15, black link, 创建于 09-9-6 */
google_ad_slot = "9565258986";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript" src="emacs-yasnippet-basic-usage_files/show_ads.js">
</script><ins style="display:inline-table;border:none;height:15px;margin:0;padding:0;position:relative;visibility:visible;width:468px"><ins id="aswift_0_anchor" style="display:block;border:none;height:15px;margin:0;padding:0;position:relative;visibility:visible;width:468px"><iframe allowtransparency="true" hspace="0" marginwidth="0" marginheight="0" onload="var i=this.id,s=window.google_iframe_oncopy,H=s&amp;&amp;s.handlers,h=H&amp;&amp;H[i],w=this.contentWindow,d;try{d=w.document}catch(e){}if(h&amp;&amp;d&amp;&amp;(!d.body||!d.body.firstChild)){if(h.call){i+='.call';setTimeout(h,0)}else if(h.match){i+='.nav';w.location.replace(h)}s.log&amp;&amp;s.log.push(i)}" vspace="0" id="aswift_0" name="aswift_0" style="left: 0pt; position: absolute; top: 0pt;" frameborder="0" height="15" scrolling="no" width="468"></iframe></ins></ins>
<!-- add google ads -->
						<p><a href="http://code.google.com/p/yasnippet/">YASnippet</a> 是 Emacs 的一个缩略词 (abbreviation) 模板替换系统，可以把一个预先设定好的缩略词扩展成模板。刚开始用 YASnippet 的时候，一般感觉无从下手，现在就简单介绍一下 YASnippet 最基本的使用方法。</p>
<ol>
<li>YASnippet 的安装
<p>YASnippet 有两种安装方法，可以视个人情况选用。</p>
<p>1). 单个 yasnippet-bundle.el 文件安装方式</p>
<p>如果想快速地试用、了解一下 YASnippet 这个系统，从官方网站下载 <a href="http://yasnippet.googlecode.com/files/yasnippet-bundle-0.6.1c.el.tgz">yasnippet-bundle.el</a> 这个文件，放到 Emacs 扩展目录里，然后把下面的代码放到 .emacs 文件里：</p>
<pre>(add-to-list 'load-path
             <span>"~/.emacs.d/plugins"</span>)
(<span>require</span> '<span>yasnippet-bundle</span>)
</pre>
<p>本方法适合于快速地试用一下 YASnippet 系统，当然，如果你需要修改模板或是定制自己的扩展模板，你就需要用下面介绍的完全安装方法。</p>
<p>2). 完全安装方法</p>
<p>需要完全安装 YASnippet 的话，先从官方网站上下载完整的 <a href="http://yasnippet.googlecode.com/files/yasnippet-0.6.1c.tar.bz2">yasnippet-x.y.z.tar.bz2</a> 包，把包解压放到 Emacs 的扩展目录，然后添加下面的语句到 .emacs 文件里：</p>
<pre>(add-to-list 'load-path
             <span>"~/.emacs.d/plugins/yasnippet-x.y.z"</span>)
(<span>require</span> '<span>yasnippet</span>) <span>;; </span><span>not yasnippet-bundle
</span>(yas/initialize)
(yas/load-directory <span>"~/.emacs.d/plugins/yasnippet-x.y.z/snippets"</span>)
</pre>
</li>
<li>YASnippet 的基本使用方法
<p>正确安装好 YASnippet 后，重新启动 Emacs 就可以看到菜单栏里多了一个 YASnippet 的菜单（图1所示），</p>
<p><img src="emacs-yasnippet-basic-usage_files/yasnippetmultimodecopyright.png" alt="YASnippetMultiModeCopyright.png" height="379"></p>
<p>mini buffer 上也会显示出类似于 (org yas) 的字样（这里是指 yas 作为子模式存在于主模式 org 里）如图2所示。</p>
<p><img src="emacs-yasnippet-basic-usage_files/yasnippetmultimode.png" alt="YASnippetMultiModeCopyright.png" height="67"></p>
<p>总的来说，正确安装好 YASnippet 后，只要输入缩略词，然后用 TAB 键或是 C-i 就可以完成扩展了。</p>
<p>在 Emacs 启动后，YASnippet 模式是作为一个子模式 (minor mode) 存在于各个模式之中。要用 YASnippet 进行缩略词补全有好多种方法，最常用的补全方法有三种：</p>
<ul>
<li>输入一个缩写词 (abbrev)，然后用 snippet 的触发键 (trigger key) 来补全。这个键默认是 TAB 或是 C-i，当然，也可以用命令 M-x yas/expand 来进行扩展。</li>
<li>用命令 M-x yas/insert-snippet 直接进行输入，输入完这个命令后，会弹出一个补全窗口，提示当前主模式下可以补全的模板。</li>
<li>直接从菜单栏里的 YASnippet 里，选择内容进行输入。</li>
</ul>
<p>有关 YASnippet 使用的更详细叙述，可以参考<a href="http://yasnippet.googlecode.com/svn/trunk/doc/snippet-expansion.html">官方文档 Expanding snippets</a>。</p>
</li>
<li>YASnippet 个性化定制的命令
<p>虽然 YASnippet 已经自带了许多常用的扩展模板，但是很多情况下，我们需要根据自己的实际情况，来进行模板定制。以下是扩展 YASnippet 常用的一些命令：</p>
<ul>
<li>用命令 M-x yas/new-snippet 就可以新建一个扩展模板 (snippet)，YASnippet 会自动提示存放该模板的最佳目录。</li>
<li>用命令 M-x yas/find-snippets 可以查找 snippet 文件，默认的目录是当前主模式下的模板文件 (snippet file) 的存放目录。</li>
<li>用命令 M-x yas/visit-snippet-file 可以通过弹出的对话框来寻找你需要的模板文件 (snippet file)，在对话框里选择一个选项，就会打开这个模板文件 (snippet file) 来让你编辑。</li>
</ul>
</li>
<li>org 里的 YASnippet 使用实例
<p>下面就用一个实例，结合 YASnippet 的语法规则，来简单介绍一下 YASnippet 最基本的使用。</p>
<p>我在 org 模式里写笔记或是发布网页的时候，经常需要添加一个有关版权声明的文字（或为公司，或为自己）。因为公司和私人的内容都混在一起，所以我需要有多个模板。下面就以添加我个人版权声明的模板为例，介绍一下配置 YASnippet 的完整步骤。</p>
<p>1). 添加一个有关个人版权的 snippet</p>
<p>首先，在 org 模式里，用命令 M-x yas/new-snippet 来添加一个 snippet，输入你想要的 snippet 名称，我这里输入</p>
<pre>  Copyright
</pre>
<p>YASnippet 会自动生成一个名叫 Copyright.yasnippet 的文件，生成的内容如下：</p>
<pre>  # -*- mode: snippet -*-
  # name: Copyright
  # key:
  # binding: "keybinding"
  # expand-env: ((some-var some-value))
  # --
</pre>
<p>2). 现在我们只需要根据 YASnippet 的相关语法来修改这个文件就可以了。上面文件关键词的基本语法含义如下：</p>
<ul>
<li># name: 显示在弹出菜单里的 snippet 名称</li>
<li># key: 缩略词，即你在用 TAB 键进行扩展前输入的关键词，如果不设定，则把这个关键词默认为本文件名</li>
<li># binding: 设置使用哪个组合键来直接插入这个 snippet，对于比较常用的模板内容比较有用</li>
<li># expand-env: 用 elisp 重新设置一些环境变量</li>
<li># – 表示在这一行之上的全是注释</li>
</ul>
<p>3). 因为我们这里是配置一个最简单的模板，所以，我们删掉 # key:，# binding:，# expand-env: 这三个高级定制功能。最后，我们写成类似下面的东西：</p>
<pre>  # -*- mode: snippet -*-
  # name: Copyright
  # --
  #+BEGIN_HTML
  &lt;p style="TEXT-ALIGN: center"&gt;
  原创文章，如转载请注明：转载自细节之锤 [ &lt;a href="http://blog.waterlin.org/"&gt;http://blog.waterlin.org/&lt;/a&gt; ]
  &lt;/p&gt;
  &lt;p style="TEXT-ALIGN: center"&gt;
  Copyright © WaterLin.org. All rights reserved.
  &lt;/p&gt;
  #+END_HTML
</pre>
<p>4). 重启 Emacs 让修改生效，然后我们再回到 org 文件里，这个时候，可以直接输入一个 Copyright 
（注意：缩略词大小写敏感），然后用 C-i 进行替换（原本可以用 TAB 键的，但是 Emacs23 里的 org 模式把 TAB 
键给霸占了），就可以把 Copyright 这个词替换成上面用 html 写成的版权声明。</p>
<p>在 org 模式里，我们可以用同样的方法来插入 #+begin_example，#+begin_ditaa，#+begin_dot，#+begin_src 等标记，这样可以节省一大笔时间。</p>
</li>
</ol>
<p>一般来讲，用 YASnippet 来进行替换与自动插入，比直接用 elisp 写一个函数、命令来进行插入要简单、方便得多，并且容易管理。</p>
<p>YASnippet 的模板语言 (Template syntax) 还有着更加灵活的用法，参见<a href="http://yasnippet.googlecode.com/svn/trunk/doc/snippet-development.html">官方文档 Writing snippets</a>。</p>
<p>原创文章，如转载请注明：转载自细节之锤 [ <a href="http://blog.waterlin.org/">http://blog.waterlin.org/</a> ]</p>
<p>Copyright © WaterLin.org. All rights reserved.</p>
					</div>
					<div class="item_class_panel">
						<div>
							<span class="panel_comm"><a href="http://blog.waterlin.org/articles/emacs-yasnippet-basic-usage.html#comments" title="Comment on YASnippet 基础入门">(2) Comments</a></span>&nbsp;&nbsp;&nbsp;
							<a href="http://blog.waterlin.org/articles/emacs-yasnippet-basic-usage.html" class="panel_read">Read More</a>&nbsp;&nbsp;&nbsp;
													</div>
					</div>
				</div>
	
<!-- You can start editing here. -->
<div id="blog_comm">
<a id="comments"></a>
	<h2>Comments</h2>

			<div class="comm_panel">
			<b><a href="http://blog.waterlin.org/articles/three-ways-to-generate-class-diagram.html" rel="external nofollow" class="url">浏忙大爆炸 » Blog Archive » 生成 C++ 类文档及关系图的方法</a></b> on 15 September, 2010 at 2:28 pm #
		</div>
		<div class="comm_text">
						<p>[...] vim, Emacs 这类文本编辑器里，则可以很自然地使用宏操作来插入 Doxygen 注释；如果是用 
Visual Studio 的话呢，也是可以用 DoxyComment add-in for Visual Studio 2005 [...]</p>
		</div>
		<br>

			<div class="comm_panel">
			<b><a href="http://imljp.info/?p=172" rel="external nofollow" class="url">/home/ljp » Emacs yasnippet hacking</a></b> on 17 January, 2011 at 9:07 am #
		</div>
		<div class="comm_text">
						<p>[...] YASnippet基础入门:<a href="http://blog.waterlin.org/articles/emacs-yasnippet-basic-usage.html" rel="nofollow">http://blog.waterlin.org/articles/emacs-yasnippet-basic-usage.html</a> [...]</p>
		</div>
		<br>

	
 


<div id="comments_from_bg">
<a id="respond"></a>
	<div id="comm_post_title">
		Post a Comment
	</div>
	
		
	<div id="comm_post_form">
	<form action="http://blog.waterlin.org/wp-comments-post.php" method="post" id="commentform">
	
	
	<table cellpadding="0" cellspacing="0">
			<tbody><tr>
			<td class="right">
				Name:
			</td>
			<td>
				<input name="author" id="author" size="22" tabindex="1" type="text">
			</td>
		</tr>
		<tr>
			<td class="right">
				Email:
			</td>
			<td>
				<input name="email" id="email" size="22" tabindex="2" type="text">
			</td>
		</tr>
		<tr>
			<td class="right">
				Website:
			</td>
			<td>
				<input name="url" id="url" size="22" tabindex="3" type="text">
			</td>
		</tr>
	
		
	<!--<p><small><strong>XHTML:</strong> You can use these tags: &lt;a href=&quot;&quot; title=&quot;&quot;&gt; &lt;abbr title=&quot;&quot;&gt; &lt;acronym title=&quot;&quot;&gt; &lt;b&gt; &lt;blockquote cite=&quot;&quot;&gt; &lt;cite&gt; &lt;code&gt; &lt;del datetime=&quot;&quot;&gt; &lt;em&gt; &lt;i&gt; &lt;q cite=&quot;&quot;&gt; &lt;strike&gt; &lt;strong&gt; </small></p>-->
		<tr>
			<td class="right">
				Comments:
			</td>
			<td>
				<textarea name="comment" id="comment" cols="40" rows="5" tabindex="4"></textarea>
			</td>
		</tr>
		<tr>
			<td>
			</td>
			<td>
				<input class="sub" src="emacs-yasnippet-basic-usage_files/sub.gif" type="image">
			</td>
		</tr>
	</tbody></table>
	<input name="comment_post_ID" value="79923" type="hidden">
	
	<p style="display: none;"><input id="akismet_comment_nonce" name="akismet_comment_nonce" value="ab01027976" type="hidden"></p>	
	</form>
	</div>
</div>

</div>

	
				
			</div>
			<div id="blog_right">
								<div id="blog_right_body">
					
					<div id="sidebar">
						<div id="sidebar_left">
<ul>
<li>
<h2>广而告之</h2>
<script type="text/javascript"><!--
google_ad_client = "pub-3004770317513210";
/* 160x600, 创建于 09-8-10 */
google_ad_slot = "5265692676";
google_ad_width = 160;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript" src="emacs-yasnippet-basic-usage_files/show_ads.js">
</script><ins style="display:inline-table;border:none;height:600px;margin:0;padding:0;position:relative;visibility:visible;width:160px"><ins id="aswift_1_anchor" style="display:block;border:none;height:600px;margin:0;padding:0;position:relative;visibility:visible;width:160px"><iframe allowtransparency="true" hspace="0" marginwidth="0" marginheight="0" onload="var i=this.id,s=window.google_iframe_oncopy,H=s&amp;&amp;s.handlers,h=H&amp;&amp;H[i],w=this.contentWindow,d;try{d=w.document}catch(e){}if(h&amp;&amp;d&amp;&amp;(!d.body||!d.body.firstChild)){if(h.call){i+='.call';setTimeout(h,0)}else if(h.match){i+='.nav';w.location.replace(h)}s.log&amp;&amp;s.log.push(i)}" vspace="0" id="aswift_1" name="aswift_1" style="left: 0pt; position: absolute; top: 0pt;" frameborder="0" height="600" scrolling="no" width="160"></iframe></ins></ins>
</li>
</ul>
							<ul>
							<li id="archives-3" class="widget widget_archive"><h2 class="widgettitle">文章索引模板</h2>
		<ul>
			<li><a href="http://blog.waterlin.org/articles/2011/04" title="April 2011">April 2011</a></li>
	<li><a href="http://blog.waterlin.org/articles/2011/03" title="March 2011">March 2011</a></li>
	<li><a href="http://blog.waterlin.org/articles/2011/02" title="February 2011">February 2011</a></li>
	<li><a href="http://blog.waterlin.org/articles/2011/01" title="January 2011">January 2011</a></li>
	<li><a href="http://blog.waterlin.org/articles/2010/12" title="December 2010">December 2010</a></li>
	<li><a href="http://blog.waterlin.org/articles/2010/11" title="November 2010">November 2010</a></li>
	<li><a href="http://blog.waterlin.org/articles/2010/10" title="October 2010">October 2010</a></li>
	<li><a href="http://blog.waterlin.org/articles/2010/09" title="September 2010">September 2010</a></li>
	<li><a href="http://blog.waterlin.org/articles/2010/08" title="August 2010">August 2010</a></li>
	<li><a href="http://blog.waterlin.org/articles/2010/07" title="July 2010">July 2010</a></li>
	<li><a href="http://blog.waterlin.org/articles/2010/06" title="June 2010">June 2010</a></li>
	<li><a href="http://blog.waterlin.org/articles/2010/05" title="May 2010">May 2010</a></li>
	<li><a href="http://blog.waterlin.org/articles/2010/04" title="April 2010">April 2010</a></li>
	<li><a href="http://blog.waterlin.org/articles/2010/03" title="March 2010">March 2010</a></li>
	<li><a href="http://blog.waterlin.org/articles/2010/02" title="February 2010">February 2010</a></li>
	<li><a href="http://blog.waterlin.org/articles/2010/01" title="January 2010">January 2010</a></li>
	<li><a href="http://blog.waterlin.org/articles/2009/12" title="December 2009">December 2009</a></li>
	<li><a href="http://blog.waterlin.org/articles/2009/11" title="November 2009">November 2009</a></li>
	<li><a href="http://blog.waterlin.org/articles/2009/10" title="October 2009">October 2009</a></li>
	<li><a href="http://blog.waterlin.org/articles/2009/09" title="September 2009">September 2009</a></li>
	<li><a href="http://blog.waterlin.org/articles/2009/08" title="August 2009">August 2009</a></li>
	<li><a href="http://blog.waterlin.org/articles/2009/07" title="July 2009">July 2009</a></li>
	<li><a href="http://blog.waterlin.org/articles/2009/06" title="June 2009">June 2009</a></li>
	<li><a href="http://blog.waterlin.org/articles/2009/05" title="May 2009">May 2009</a></li>
	<li><a href="http://blog.waterlin.org/articles/2009/04" title="April 2009">April 2009</a></li>
	<li><a href="http://blog.waterlin.org/articles/2009/03" title="March 2009">March 2009</a></li>
	<li><a href="http://blog.waterlin.org/articles/2009/02" title="February 2009">February 2009</a></li>
	<li><a href="http://blog.waterlin.org/articles/2009/01" title="January 2009">January 2009</a></li>
	<li><a href="http://blog.waterlin.org/articles/2008/12" title="December 2008">December 2008</a></li>
	<li><a href="http://blog.waterlin.org/articles/2008/11" title="November 2008">November 2008</a></li>
	<li><a href="http://blog.waterlin.org/articles/2008/10" title="October 2008">October 2008</a></li>
	<li><a href="http://blog.waterlin.org/articles/2008/09" title="September 2008">September 2008</a></li>
	<li><a href="http://blog.waterlin.org/articles/2008/08" title="August 2008">August 2008</a></li>
	<li><a href="http://blog.waterlin.org/articles/2008/07" title="July 2008">July 2008</a></li>
	<li><a href="http://blog.waterlin.org/articles/2008/06" title="June 2008">June 2008</a></li>
	<li><a href="http://blog.waterlin.org/articles/2008/05" title="May 2008">May 2008</a></li>
	<li><a href="http://blog.waterlin.org/articles/2008/04" title="April 2008">April 2008</a></li>
	<li><a href="http://blog.waterlin.org/articles/2008/03" title="March 2008">March 2008</a></li>
	<li><a href="http://blog.waterlin.org/articles/2008/02" title="February 2008">February 2008</a></li>
	<li><a href="http://blog.waterlin.org/articles/2008/01" title="January 2008">January 2008</a></li>
	<li><a href="http://blog.waterlin.org/articles/2007/12" title="December 2007">December 2007</a></li>
		</ul>
</li>
														</ul>

						</div>
						<div id="sidebar_right">

							<ul>
							<li id="tag_cloud-3" class="widget widget_tag_cloud"><h2 class="widgettitle">标签</h2>
<div class="tagcloud"><a href="http://blog.waterlin.org/tag/c" class="tag-link-43" title="23 topics" style="font-size: 16.7399pt;">C++</a>
<a href="http://blog.waterlin.org/tag/conkeror" class="tag-link-44" title="3 topics" style="font-size: 10.4277pt;">Conkeror</a>
<a href="http://blog.waterlin.org/tag/cygwin" class="tag-link-45" title="5 topics" style="font-size: 11.8844pt;">Cygwin</a>
<a href="http://blog.waterlin.org/tag/drupal" class="tag-link-46" title="11 topics" style="font-size: 14.3121pt;">Drupal</a>
<a href="http://blog.waterlin.org/tag/emacs" class="tag-link-47" title="71 topics" style="font-size: 20.6243pt;">Emacs</a>
<a href="http://blog.waterlin.org/tag/firefox" class="tag-link-49" title="22 topics" style="font-size: 16.578pt;">Firefox</a>
<a href="http://blog.waterlin.org/tag/google" class="tag-link-51" title="13 topics" style="font-size: 14.8786pt;">Google</a>
<a href="http://blog.waterlin.org/tag/gtd" class="tag-link-52" title="8 topics" style="font-size: 13.2601pt;">GTD</a>
<a href="http://blog.waterlin.org/tag/lamp" class="tag-link-53" title="7 topics" style="font-size: 12.8555pt;">LAMP</a>
<a href="http://blog.waterlin.org/tag/linux" class="tag-link-54" title="7 topics" style="font-size: 12.8555pt;">Linux</a>
<a href="http://blog.waterlin.org/tag/mingw" class="tag-link-55" title="5 topics" style="font-size: 11.8844pt;">MinGW</a>
<a href="http://blog.waterlin.org/tag/perl" class="tag-link-56" title="32 topics" style="font-size: 17.8728pt;">Perl</a>
<a href="http://blog.waterlin.org/tag/phpbb" class="tag-link-57" title="3 topics" style="font-size: 10.4277pt;">phpBB</a>
<a href="http://blog.waterlin.org/tag/tex" class="tag-link-58" title="3 topics" style="font-size: 10.4277pt;">TeX</a>
<a href="http://blog.waterlin.org/tag/thunderbird" class="tag-link-59" title="6 topics" style="font-size: 12.4509pt;">Thunderbird</a>
<a href="http://blog.waterlin.org/tag/usenet" class="tag-link-61" title="4 topics" style="font-size: 11.237pt;">Usenet</a>
<a href="http://blog.waterlin.org/tag/vim" class="tag-link-62" title="2 topics" style="font-size: 9.45665pt;">Vim</a>
<a href="http://blog.waterlin.org/tag/windows" class="tag-link-63" title="11 topics" style="font-size: 14.3121pt;">Windows</a>
<a href="http://blog.waterlin.org/tag/wordpress" class="tag-link-65" title="18 topics" style="font-size: 15.9306pt;">Wordpress</a>
<a href="http://blog.waterlin.org/tag/xulrunner" class="tag-link-66" title="1 topic" style="font-size: 8pt;">XULRunner</a>
<a href="http://blog.waterlin.org/tag/zen-cart" class="tag-link-67" title="9 topics" style="font-size: 13.6647pt;">Zen-cart</a>
<a href="http://blog.waterlin.org/tag/%e5%95%86%e4%b8%9a" class="tag-link-71" title="9 topics" style="font-size: 13.6647pt;">商业</a>
<a href="http://blog.waterlin.org/tag/%e5%b7%b2%e6%8a%a5" class="tag-link-75" title="18 topics" style="font-size: 15.9306pt;">已报</a>
<a href="http://blog.waterlin.org/tag/%e6%8a%80%e6%9c%af" class="tag-link-74" title="22 topics" style="font-size: 16.578pt;">技术</a>
<a href="http://blog.waterlin.org/tag/%e6%96%87%e5%8c%96" class="tag-link-70" title="15 topics" style="font-size: 15.2832pt;">文化</a>
<a href="http://blog.waterlin.org/tag/%e7%90%86%e8%b4%a2" class="tag-link-76" title="1 topic" style="font-size: 8pt;">理财</a>
<a href="http://blog.waterlin.org/tag/%e7%94%9f%e6%b4%bb" class="tag-link-68" title="37 topics" style="font-size: 18.3584pt;">生活</a>
<a href="http://blog.waterlin.org/tag/%e7%bb%8f%e6%b5%8e" class="tag-link-69" title="4 topics" style="font-size: 11.237pt;">经济</a>
<a href="http://blog.waterlin.org/tag/%e8%bd%af%e4%bb%b6" class="tag-link-73" title="106 topics" style="font-size: 22pt;">软件</a></div>
</li>
<li id="html_javascript_adder-3" class="widget widget_html_javascript_adder">

<!-- Start - HTML Javascript Adder plugin v3.1.1 -->
<h2 class="widgettitle">订阅我吧</h2>

<div class="hjawidget">
<!-- Feedsky FEED发布代码开始 -->
<!-- FEED自动发现标记开始 -->
<link title="RSS 2.0" type="application/rss+xml" href="http://feed.feedsky.com/WaterDrop" rel="alternate">
<!-- FEED自动发现标记结束 -->
<script language="javascript"><!-- 
main_sub="";
more_subs="zhuaxia_01,pageflakes_01,rojo_01,google_01,netvibes_01,yahoo_01,newsgator_01,bloglines_01,xianguo_01,nazha_01,youdao_01,qq_01,douban_01";
is_new="yes";
--> </script>
<script language="javascript" src="emacs-yasnippet-basic-usage_files/publishlist_v2.html"></script><a href="http://www.zhuaxia.com/add_channel.php?url=http://feed.feedsky.com/WaterDrop" target="_blank"><img src="emacs-yasnippet-basic-usage_files/icon_subshot01_zhuaxia.gif" alt="抓虾" style="margin-bottom: 3px;" border="0" vspace="2"></a><br><a href="http://www.pageflakes.com/subscribe.aspx?url=http://feed.feedsky.com/WaterDrop" target="_blank"><img src="emacs-yasnippet-basic-usage_files/icon_subshot01_pageflakes.gif" alt="pageflakes" style="margin-bottom: 3px;" border="0" vspace="2"></a><br><a href="http://www.rojo.com/add-subscription?resource=http://feed.feedsky.com/WaterDrop" target="_blank"><img src="emacs-yasnippet-basic-usage_files/icon_subshot01_rojo.gif" alt="Rojo" style="margin-bottom: 3px;" border="0" vspace="2"></a><br><a href="http://fusion.google.com/add?feedurl=http://feed.feedsky.com/WaterDrop" target="_blank"><img src="emacs-yasnippet-basic-usage_files/icon_subshot01_google.gif" alt="google reader" style="margin-bottom: 3px;" border="0" vspace="2"></a><br><a href="http://www.netvibes.com/subscribe.php?url=http://feed.feedsky.com/WaterDrop" target="_blank"><img src="emacs-yasnippet-basic-usage_files/icon_subshot01_netvibes.gif" alt="netvibes" style="margin-bottom: 3px;" border="0" vspace="2"></a><br><a href="http://add.my.yahoo.com/rss?url=http://feed.feedsky.com/WaterDrop" target="_blank"><img src="emacs-yasnippet-basic-usage_files/icon_subshot01_yahoo.gif" alt="my yahoo" style="margin-bottom: 3px;" border="0" vspace="2"></a><br><a href="http://www.newsgator.com/ngs/subscriber/subfext.aspx?url=http://feed.feedsky.com/WaterDrop" target="_blank"><img src="emacs-yasnippet-basic-usage_files/icon_subshot01_newsgator.gif" alt="newsgator" style="margin-bottom: 3px;" border="0" vspace="2"></a><br><a href="http://www.bloglines.com/sub/http://feed.feedsky.com/WaterDrop" target="_blank"><img src="emacs-yasnippet-basic-usage_files/icon_subshot01_bloglines.gif" alt="bloglines" style="margin-bottom: 3px;" border="0" vspace="2"></a><br><a href="http://www.xianguo.com/subscribe.php?url=http://feed.feedsky.com/WaterDrop" target="_blank"><img src="emacs-yasnippet-basic-usage_files/icon_subshot01_xianguo.gif" alt="鲜果" style="margin-bottom: 3px;" border="0" vspace="2"></a><br><a href="http://inezha.com/add?url=http://feed.feedsky.com/WaterDrop" target="_blank"><img src="emacs-yasnippet-basic-usage_files/icon_subshot01_nazha.gif" alt="哪吒" style="margin-bottom: 3px;" border="0" vspace="2"></a><br><a href="http://reader.youdao.com/b.do?keyfrom=feedsky&amp;url=http://feed.feedsky.com/WaterDrop" target="_blank"><img src="emacs-yasnippet-basic-usage_files/icon_subshot01_youdao.gif" alt="有道" style="margin-bottom: 3px;" border="0" vspace="2"></a><br><a href="http://mail.qq.com/cgi-bin/feed?u=http://feed.feedsky.com/WaterDrop" target="_blank"><img src="emacs-yasnippet-basic-usage_files/icon_subshot01_qq.gif" alt="QQ邮箱" style="margin-bottom: 3px;" border="0" vspace="2"></a><br><a href="http://9.douban.com/reader/subscribe?url=http://feed.feedsky.com/WaterDrop" target="_blank"><img src="emacs-yasnippet-basic-usage_files/icon_subshot01_douban.gif" alt="九点" style="margin-bottom: 3px;" border="0" vspace="2"></a>
<!-- Feedsky FEED发布代码结束 -->
<a href="http://www.aakashweb.com/" target="_blank" rel="follow" title="Added with HTML Javascript Adder Wordpress plugin" style="float: right; font-size: 50%;"> ?</a>
</div>
<!-- End - HTML Javascript Adder plugin v3.1.1 -->

</li>
														</ul>
						</div>
					</div>
				</div>			</div>
</div>
</div>

<div id="footer">
	<div id="footer_text">
	Copyright © 浏忙大爆炸. All rights reserved. 由 <a href="http://cookwhy.com/">酷歪基地</a> 提供 <a href="http://www.wordpress.org/">WordPress</a> 博客服务<br>
		Designed By : <span><a href="http://www.askgraphics.com/" title="Website design">AskGraphics</a></span>
	</div>
</div>

				
</div>
</center>


</body></html>